-----------------------------------------------------
--- Small-step SOS: Adding dynamic threads to IMP ---
-----------------------------------------------------

Suggested steps to follow in order to extend the oringinal small-step SOS
of IMP in Maude to include dynamic threads:

1) Modify imp-smallstep.maude: Add Maude commands for executing the new programs.

2) Run imp-smallstep.maude: Everything working before should still work;
   the new programs should get stuck on their first attempt to spawn a thread.

3) Modify imp-semantics-smallstep.maude:
   a) Add the two small-step SOS rules propagating the reduction permission from
      S to spawn(S) and from S2 to spawn(S1) ; S2;
   b) Add the small-step SOS rule reducing spawn(skip) to skip;
   c) Add the structural equation enforcing right associativity of sequential composition.

7) Run imp-smallstep.maude and check that all programs evaluate properly.


------------------------------
--- Observations, thoughts ---
------------------------------

1) The propagation rules and the rule for dissolving threads are normal.

2) However, we also had to add a structural equation for enforcing right associativity of sequential
   composition.  This equation is an artifact of the new dynamic threads feature (to keep the
   definition of the latter simpler and modular) and does not involve the new syntax (spawn).
